import 'dart:io';

import 'package:convergence_media/features/config/constants/api_config.dart';
import 'package:convergence_media/interceptors/news_interceptor.dart';
import 'package:dio/dio.dart';
import 'package:isar/isar.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shared_preferences/shared_preferences.dart';

part 'di.g.dart';

@riverpod
SharedPreferences sharedPreference(SharedPreferenceRef ref) =>
    throw UnimplementedError();

@riverpod
Directory appDocumentPath(AppDocumentPathRef ref) => throw UnimplementedError();

@riverpod
Isar appIsar(AppIsarRef ref) => throw UnimplementedError();

@riverpod
Dio navadminDio(NavadminDioRef ref) =>
    Dio(BaseOptions(baseUrl: ApiConfig.navadminUrl));

@riverpod
Dio circleDio(CircleDioRef ref) =>
    Dio(BaseOptions(baseUrl: ApiConfig.circleUrl));

@riverpod
Dio newsDio(NewsDioRef ref) => Dio(BaseOptions(baseUrl: ApiConfig.newsUrl));
